package org.foreveross.jbpm.core.service;

import java.util.List;

import org.drools.persistence.info.WorkItemInfo;
import org.foreveross.jbpm.core.KoalaProcessInfo;
import org.jbpm.bpmn2.xml.di.BPMNPlaneHandler.ProcessInfo;
import org.jbpm.persistence.processinstance.ProcessInstanceInfo;
import org.jbpm.task.Content;
import org.jbpm.task.OrganizationalEntity;
import org.jbpm.task.Task;
import org.jbpm.task.User;
import org.jbpm.task.query.TaskSummary;

/**
 * 
 *  * @author lingen
 *
 */
public interface JBPMTaskService {
	
	public void removeTaskUser(long taskId,String user);
	
	public void repairTask(Task task);
	
	public void failedTask(Task task);
	
	public List<TaskSummary> getErrorTasks();
	
	public List<WorkItemInfo> getWorkItemInfo(long processInstanceId);
	
	public void exitedTask(long processInstanceId);
	
	public void removeWorkItemInfo(WorkItemInfo info);
	
	public void saveWorkItem(WorkItemInfo info);
	
	public void addProcessInfo(KoalaProcessInfo info);
	
	public Content getContent(long contentId);
	
	public void removeAssignUser(User user);
}
